package org.xlp.db.bridge.helper;

import org.xlp.mv.BaseDao;
import org.xlp.mv.IBaseDao;

/**
 * Description: 获取数据库操作Dao对象工具类
 * <br/>date: 2024/4/16 16:19
 *
 * @version 1.0
 * @author: xlp
 */
public class DaoBridgeHelper {
    /**
     * 数据操作Dao对象
     */
    public static volatile IBaseDao baseDao;

    /**
     * 注册数据操作Dao对象
     * @param baseDao
     */
    public static void register(IBaseDao baseDao){
        DaoBridgeHelper.baseDao = baseDao;
    }

    /**
     * 获取数据操作Dao对象
     * @return 假如已注册Dao对象，则返回注册的Dao对象，否则返回一个新建的{@link BaseDao}对象
     */
    public static IBaseDao getBaseDao(){
        if (baseDao == null){
            synchronized (DaoBridgeHelper.class){
                if (baseDao == null){
                    baseDao = new BaseDao();
                }
            }
        }
        return baseDao;
    }
}
